#ifndef ESTOCASTICO_H
#define ESTOCASTICO_H

/**
  *@brief Descreve os metodos e variaveis para o calculo do Estocastico
  *
  */

class Estocastico
{
public:
    /// Construtor vazio
    Estocastico();

    /// Calcula o Estocastico
    void CalculaEstocastico(double *fechamento,int numDias, double *maximo, double *minimo, int periodo);

    /// Calcula os valores %K
    double *Calcula_K(double *fechamento,double *maximo, double *minimo);

    /// Calcula os valores %D
    double *Calcula_D(double *linha_k);

    /// Retorna o valor maximo do periodo
    double Minimo(double *high);

    /// Retorna o valor minimo do periodo
    double Maximo(double *low);

    /// Retorna os valores de %k
    double* getValoresK();

    /// Retorna os valores de %D
    double* getValoresD();

    /// Atributos

    /// Variavel que representa os pontos do grafico %K
    double *linhaK;

    /// Variavel que representa os pontos do grafico %D
    double *linhaD;

    /// Variavel que representa o periodo do calculo
    int periodo;

    /// Variavel que representa o numero de dias
    int numDias;

};

#endif // ESTOCASTICO_H
